## -*- coding: utf-8 -*-

#   Copyright (C) 2007, 2008 Yves Junqueira (yves@cetico.org) 
#
#    This file is part of GeekDNS.
#
#    GeekDNS is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#    GeekDNS is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with GeekDNS.  If not, see <http://www.gnu.org/licenses/>.

"""Assorted tools like email sending stuff
"""
import smtplib
from email.MIMEText import MIMEText
from email.Header import Header

def send_html_mail(sender,deststr,subject,body):
  """Sends email.
  Return code is a dictionary containing possible failed
  destinations.
  """
  if type(body) is not unicode:
    body = unicode(body, 'utf-8')
  
  body = body.encode('utf-8')

  subj=Header(subject,'utf-8')
  msg=MIMEText(body,'html')
  msg.set_charset('utf-8')
  msg['Subject']=subj
  msg['From']=sender
  destlist=deststr.split(',')
  msg['To']=deststr

  s=smtplib.SMTP()
  s.connect()
  status=s.sendmail(sender,destlist,msg.as_string())
  s.close()
  return status

if __name__ == '__main__':

  body="""<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000000">
<u><b>Mensalidade Novembro de 2007: %(domain)s</b></u><br>
<br>
Olá %(nome)s,<br>
<br>
Este é apenas um lembrete de que a fatura referente a Novembro/2007 do
seu servidor hospedado na<br>
YourBase já pode ser paga.<br>

<br>
Você pode fazer o pagamento no nosso painel de controle, na página de
<a
 href="https://www.yourbase.com.br/painel/pagamento">faturas
 pendentes</a>.<br>
 <br>
 <b><u>Dúvidas e sugestões?</u><br>
 <br>
 </b>A YourBase quer avaliar o nível de satisfação de seus clientes.
 Se
 você tiver alguma observação sobre<br>
 nossos serviços, entre em contato com a gente. <br>
 <br>
 Iremos escolher algumas mensagens de feedback enviadas por nossos
 clientes para enriquecer nosso<br>
 site :-).<br>
 <br>

 <b><u>Indique novos clientes e receba um bônus de hospedagem</u><br>
 <br>
 </b>Caso queira indicar a YourBase para outras pessoas, ficaremos
 felizes em lhe conceder R$20 em <br>
 créditos de hospedagem para cada cliente que mencione seu nome,
 e-mail
 ou domínio no momento do<br>
 pedido. <br>
 <br>
 Atenciosamente,<br>
 Yves<br>
 <a class="moz-txt-link-freetext"
 href="http://www.yourbase.com.br">http://www.yourbase.com.br</a>
 </body>
 </html>

"""
  status = send_html_mail('suporte@yourbase.com.br',['yves.junqueira@gmail.com'],
  'Mensalidade Novembro - YourBase.com.br',body)

  print "result " + str(status)
